import Vue from "vue";
import QQMapWX from "@/static/lib/qqmap-wx-jssdk.min.js";
import config from "../config";
let qqmapsdk;
function createQqMap() {
  return new Promise((reslove, reject) => {
    qqmapsdk = new QQMapWX({
      key: config.mapKey,
    });
    if (qqmapsdk) {
      reslove(qqmapsdk);
    } else {
      reject("实例化地图api失败，请检查是否引入腾讯地图sdk和appkey是否正确");
    }
  });
}

function getProvinceList() {
  return new Promise(async (reslove, reject) => {
    if (!qqmapsdk) await createQqMap();
    //调用获取城市列表接口
    qqmapsdk.getCityList({
      success: function (res) {
        //成功后的回调
        // console.log(res);
        // console.log("省份数据：", res.result[0]); //打印省份数据
        // console.log("城市数据：", res.result[1]); //打印城市数据
        // console.log("区县数据：", res.result[2]); //打印区县数据
        reslove(res.result[0]);
      },
      fail: function (error) {
        reject(error);
        console.error(error);
      },
      complete: function (res) {
        console.log(res);
      },
    });
  });
}
function getCityList(id) {
  return new Promise(async (reslove, reject) => {
    if (!qqmapsdk) await createQqMap();
    //调用获取城市列表接口
    qqmapsdk.getDistrictByCityId({
      // 传入对应省份ID获得城市数据，传入城市ID获得区县数据,依次类推
      id: id, //对应接口getCityList返回数据的Id，如：北京是'110000'
      success: function (res) {
        //成功后的回调
        // console.log(res);
        // console.log("省份数据：", res.result[0]); //打印省份数据
        // console.log("城市数据：", res.result[1]); //打印城市数据
        // console.log("区县数据：", res.result[2]); //打印区县数据
        reslove(res.result[0]);
      },
      fail: function (error) {
        reslove(error);
      },
      complete: function (res) {
        console.log(res);
      },
    });
  });
}
Vue.prototype.$getMap = { createQqMap, getCityList, getProvinceList };
